Розрахунок математичних моделей лінійних резистивних схем методом Гаусса

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Факультет:
Не вказано
Кафедра:
Кафедра теоретичної радіотехніки та радіовимірювань

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт
Предмет:
Інформатика та обчислювальна техніка

Частина тексту файла

Міністерство освіти та науки України Національний університет «Львівська політехніка» Інститут телекомунікацій, радіоелектроніки та електронної техніки Кафедра теоретичної радіотехніки та радіовимірювань Звіт з розрахункової роботи Тема «Розрахунок математичних моделей лінійних резистивних схем методом Гаусса » з дисципліни «Інформатика та обчислювальна техніка» Варіант 4 Метою лабораторної роботи є вивчення методу Гаусса розв’язування систем лінійних алгебраїчних рівнянь з дійсними коефіцієнтами, складання алгоритму і програми мовою С++ та налагодження програми на тестовій задачі. Код програми мовою С #include <cstdlib> #include <iostream> #include <fstream> #include <math.h> using namespace std; double eps=1e-9; int Gauss(double **a, double *x, int n){ int i,j,k; for (k=0; k<n; k++){ if(fabs(a[k][k])<eps){ for(i=k+1; i<n && fabs(a[i][k])<eps; i++); if(i==n){ return 1; } for(j=k; j<=n; j++){ double c=a[k][j]; a[k][j]=a[i][j]; a[i][j]=c; } } for (i=n; i>=k; i--) a[k][i]/=a[k][k]; for(i=k+1; i<n; i++) if(fabs(a[i][k])>eps) for(j=n; j>=k;j--) a[i][j]-=a[k][j]*a[i][k]; } for (i=n-1; i>=0; i--){ x[i]=a[i][n]; for(j=i+1; j<n; j++) x[i]-=a[i][j]*x[j]; } return 0; } int main () { int n,i,j; ifstream in("matrix.txt"); if (!in){ cout <<"ne mogy znautu fail"<<endl; system ("Pause"); return 1; } in>>n; double **A=new double *[n], *x=new double[n]; cout<<"Zadana rozshyrena matrycya"<<endl; for (i=0;i<n; i++) A[i] = new double [n+1]; for (i=0;i<n; i++){ for (j=0;j<=n; j++){ in>>A[i][j]; cout<<' '<<A[i][j]; } cout<<endl; } if (Gauss(A,x,n)){ cout <<"Pomulka"<<endl; system ("Pause"); return 2; } cout<<endl<<"Pryvedena do trykutnogo vyglyadu"<<endl; for (i=0;i<n; i++){ for (j=0;j<=n; j++) cout<<' '<<A[i][j]; cout<<endl; } cout<<endl<<"Rozvazok:"<<endl; for (i=0; i<n; i++) cout<<" x["<<(i+1)<<"]="<<x[i]<<endl; cout<<endl; system ("Pause"); for(i=0;i<n;i++)delete[] A[i]; delete[] A; delete[] x; return 0; } НАЛАГОДЖЕННЯ ТА РЕЗУЛЬТАТИ ТЕСТУВАННЯ. 
Антиботан аватар за замовчуванням

12.11.2011 02:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини